package com.snape.utils;

/**
 * Created by liuqingcan_snape on 2017/3/28.
 */
public enum  StatusUtils {
//    基本状态
    SUCCESS("成功",1),
    FAIL("失败",0),
    UNKNOWN("状态未可知",2),


//    1000+ 用户方面错误
    USERNAME_ERROR("用户名错误",1001),
    PASSWORD_ERROR("密码错误",1002),
    USER_EXIST_ERROR("已经存在该用户名",1003),
//    LOGIN_SUCCEED("登录成功",1004),
    LOGIN_FAILED("登录失败",1004),
    WRONG_COOKIE("错误的cookie值",1005),



//    2000+ 服务器方面错误
    SERVICE_UNAVAILABLE("服务器不可用",2001),
    SERVICE_ABNORMAL("服务器异常",2002),

//    3000+ 接口方面错误
    INVALID_METHOD("无效方法",3001),
    INVALID_PARAMETERS("无效参数",3002),
    INVALID_ENCODING("无效编码格式",3003),

//    4000+  数据库方面错误
    INSERT_USER_ERROR("插入新用户失败",4001),
    UPDATE_USER_ERROR("更新用户失败",4002),
    SELECT_DATA_ERROR("查询数据失败",4003),
    INSERT_DATA_ERROR("插入数据失败",4004),
    UPDATE_DATA_ERROR("更新数据失败",4005),
    SELECT_DATA_NONE("未能查询到更多数据",4006);



    private String statusName;
    private int statusCode ;

//    构造方法
    StatusUtils(String statusName, int statusCode) {
        this.statusName = statusName;
        this.statusCode = statusCode;
    }

    // 普通方法
    public static String getName(int index) {
        for (StatusUtils c : StatusUtils.values()) {
            if (c.getStatusCode() == index) {
                return c.getStatusName();
            }
        }
        return null;
    }

//    public static String getCode(int index) {
//        for (StatusUtils c : StatusUtils.values()) {
//            if (c.getStatusCode() == index) {
//                return c.getStatusName();
//            }
//        }
//        return null;
//    }


    public String getStatusName() {
        return statusName;
    }

    public void setStatusName(String statusName) {
        this.statusName = statusName;
    }

    public int getStatusCode() {
        return statusCode;
    }

    public void setStatusCode(int statusCode) {
        this.statusCode = statusCode;
    }
}
